package com.hedd.shop.service;

import com.hedd.shop.pojo.entity.Product;
import com.hedd.shop.pojo.qo.AccurateSearchQO;
import com.hedd.shop.pojo.qo.ProductInsertQO;
import com.hedd.shop.pojo.qo.ProductPagingQO;

import java.util.List;

/**
 * @author ludi
 * @date:2020/8/29 15:33
 * @description:商品业务
 */
public interface ProductService {
    /**
     * 根据商品种类名称查询所有属于该种类的商品
     * @param TypeName
     * @return 有：商品列表 ； 无：null
     */
    List<Product> selectProductByTypeName(String TypeName);

    /**
     * 根据商品id查询商品的详细信息
     * @param productId
     * @return
     */
    Product selectProductById(Integer productId);

    /**
     * 根据关键值（姓名）查询商品
     * @param keyWords
     * @return
     */
    List<Product> selectProductOnSearch(String keyWords);

    /**
     * 多条件精确查询商品
     * @param accurateSearchQO
     * @return
     */
    List<Product> selectProductOnAccurateSearch(AccurateSearchQO accurateSearchQO);

    //分页查询

    /**
     * 分页查询
     * @param productPagingQO
     * @return
     */
    List<Product> selectProductUsingPaging(ProductPagingQO productPagingQO);

    /**
     * 根据商品种类名称查询所有属于该种类的商品的数量
     * @param typeName
     * @return
     */
    Integer selectProductCountByTypeName(String typeName);

    /**
     * 添加到收藏
     * @param productInsertQO
     * @return
     */
    Integer insertProductCollection(ProductInsertQO productInsertQO);

}
